import java.util.LinkedList;
import java.util.HashMap;


public class Joueur {
	private int id_joueur;
	private String nom_joueur;
	private LinkedList<Case> cases;
	private int points;
	private HashMap<String, Integer> dico_ressources;
	
	
	public Joueur() {
		this.id_joueur = 0;
		this.nom_joueur = "";
		this.cases = new LinkedList<Case>();
		this.dico_ressources = new HashMap<String, Integer>();
		this.dico_ressources.put("Bois", 0);
		this.dico_ressources.put("Argile", 0);
		this.dico_ressources.put("Ble", 0);
		this.dico_ressources.put("Laine", 0);
	}
	
	public Joueur(int id_joueur, String nom_joueur) {
		this();
		this.id_joueur = id_joueur;
		this.nom_joueur = nom_joueur;
	}
	
	public int get_id_joueur() {
		return this.id_joueur;
	}
	
	public String get_nom_joueur() {
		return this.nom_joueur;
	}
	
	public LinkedList<Case> get_cases() {
		return this.cases;
	}
	
	public LinkedList<Case> get_routes() {
		LinkedList<Case> routes = new LinkedList<Case>();
		for (Case object : this.cases)
		{
			if (object.get_contenu()=="route")
			{
				routes.add(object);
			}
		}
		
		return routes;
	}
	
	public LinkedList<Case> get_colonies() {
		LinkedList<Case> colonies = new LinkedList<Case>();
		for (Case object : this.cases)
		{
			if (object.get_contenu()=="colonies")
			{
				colonies.add(object);
			}
		}
		
		return colonies;
	}
	
	public LinkedList<Case> get_villes() {
		LinkedList<Case> villes = new LinkedList<Case>();
		for (Case object : this.cases)
		{
			if (object.get_contenu()=="villes")
			{
				villes.add(object);
			}
		}
		
		return villes;
	}
	
	public int get_points() 
	{
		return this.points;
	}

	public HashMap<String, Integer> get_nb_ressources() 
	{
		return dico_ressources;
	}
	
	public int get_nb_bois()
	{
		return this.dico_ressources.get("Bois");
	}
	
	public int get_nb_argile()
	{
		return this.dico_ressources.get("Argile");
	}
	
	public int get_nb_ble()
	{
		return this.dico_ressources.get("Ble");
	}
	
	public int get_nb_laine()
	{
		return this.dico_ressources.get("Laine");
	}
	
	public void set_nb_bois(int nb_bois) 
	{
		this.dico_ressources.put("Bois", nb_bois);
	}
	
	public void set_nb_argile(int nb_argile) 
	{
		this.dico_ressources.put("Argile", nb_argile);
	}
	
	public void set_nb_ble(int nb_ble)
	{
		this.dico_ressources.put("Ble", nb_ble);
	}
	
	public void set_nb_laine(int nb_laine) 
	{
		this.dico_ressources.put("Laine", nb_laine);
	}
	
	void increment_points()
	{
		this.points++;
	}
}
